|
Moose is a free and open source platform for software and data analysis built in Pharo. Moose offers multiple services ranging from importing and parsing data, to modeling, to measuring, querying, mining, and to building interactive and visual analysis tools. Moose was born in a research context,〔Oscar Nierstrasz, Stéphane Ducasse, and Tudor Gîrba. The Story of Moose: an Agile Reengineering Environment. In Proceedings of the European Software Engineering Conference (ESEC/FSE'05), p. 1—10, ACM Press, New York NY, 2005. Invited paper.〕 and it is currently supported by several research groups throughout the world. It is increasingly being adopted in industry. == Key Features == The philosophy of Moose is to enable the analyst to produce new dedicated analysis tools, and to customize the flow of analysis. While Moose is mainly used in software analysis, it is built to work for any data. To achieve this it offers multiple mechanisms and frameworks: * Importing and meta-meta-modeling is achieved through a generic meta-described engine.〔Stéphane Ducasse, Tudor Gîrba, Adrian Kuhn, and Lukas Renggli. Meta-Environment and Executable Meta-Language using Smalltalk: an Experience Report. In Journal of Software and Systems Modeling (SOSYM) 8(1) p. 5—19, February 2009.〕〔Adrian Kuhn and Toon Verwaest. FAME, A Polyglot Library for Metamodeling at Runtime. In Workshop on Models at Runtime, p. 57—66, 2008〕 Any meta-model is described in terms of a self-described meta-meta-model, and based on this description, the import/export is provided through the MSE file format. Through this file format, Moose can exchange data with external tools. * For parsing, Moose provides a novel framework 〔Lukas Renggli, Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Practical Dynamic Grammars for Dynamic Languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), Malaga, Spain, June 2010〕 that makes use of several parsing technologies (like parsing expression grammar) and that provides a fluent interface for easy construction. * Software analysis is specifically supported through the FAMIX family of meta-models. The core of FAMIX is a language independent meta-model that is similar to UML but it is focused on analysis. Furthermore, it provides rich interface for querying models. * Visualization is supported through two different engines: one for expressing graph visualizations,〔Michael Meyer, Tudor Gîrba, and Mircea Lungu. Mondrian: An Agile Visualization Framework. In ACM Symposium on Software Visualization (SoftVis'06), p. 135—144, ACM Press, New York, NY, USA, 2006.〕 and one for expressing charts. They both provide a fluent interface for easy construction. * Browsing is an important principle in Moose, and it is supported in multiple ways as well. A generic interface enables the analyst to browse any model. To be able to specify specific browsers, Moose offers a generic engine that eases the specification through a specific fluent interface. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Moose (analysis)」の詳細全文を読む スポンサード リンク
|